package com.hr.jobTimeRecord.mapper;

import java.util.List;
import com.hr.jobTimeRecord.domain.JobTimeRecord;

/**
 * 员工入职时间记录Mapper接口
 * 
 * @author guan
 * @date 2024-07-16
 */
public interface JobTimeRecordMapper 
{
    /**
     * 查询员工入职时间记录
     * 
     * @param userId 员工入职时间记录主键
     * @return 员工入职时间记录
     */
    public JobTimeRecord selectJobTimeRecordByUserId(Long userId);

    /**
     * 查询员工入职时间记录列表
     * 
     * @param jobTimeRecord 员工入职时间记录
     * @return 员工入职时间记录集合
     */
    public List<JobTimeRecord> selectJobTimeRecordList(JobTimeRecord jobTimeRecord);

    /**
     * 新增员工入职时间记录
     * 
     * @param jobTimeRecord 员工入职时间记录
     * @return 结果
     */
    public int insertJobTimeRecord(JobTimeRecord jobTimeRecord);

    /**
     * 修改员工入职时间记录
     * 
     * @param jobTimeRecord 员工入职时间记录
     * @return 结果
     */
    public int updateJobTimeRecord(JobTimeRecord jobTimeRecord);

    /**
     * 删除员工入职时间记录
     * 
     * @param userId 员工入职时间记录主键
     * @return 结果
     */
    public int deleteJobTimeRecordByUserId(Long userId);

    /**
     * 批量删除员工入职时间记录
     * 
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJobTimeRecordByUserIds(Long[] userIds);

    /**
     * 统计员工入职时间记录
     *
     * @param jobTimeRecord 员工入职时间记录
     * @return 结果
     */
    JobTimeRecord selectJobTimeRecordCount(JobTimeRecord jobTimeRecord);

    /**
     * 统计员工入职时间记录Def
     * @param jobTimeRecord
     * @return
     */
    JobTimeRecord selectJobTimeRecordCountDef(JobTimeRecord jobTimeRecord);
}
